package ojt.logic;

import ojt.dao.DaoShain;
import ojt.exception.BusinessException;
import ojt.exception.SystemException;
import ojt.model.Shain;
import ojt.util.Validater;


public class SearchDetailLogic {
	
	public SearchDetailLogic(){
		// TODO コンストラクタ
	}
	/**
	 * 検索（詳細）実行メソッド.
	 * 社員番号の入力チェックを行い、
	 * DBから社員情報を取得し、社員情報オブジェクトを返却する
	 * @param shain_no
	 * @return Shain 取得した社員情報オブジェクト
	 * @throws SystemException システム例外
	 * @throws BusinessException 業務例外 入力エラー、該当する社員なし
	 */
	public Shain execute(String shain_no) throws SystemException,BusinessException{
		//社員所情報アクセスクラス
		DaoShain dao = null;
		
		//入力チェック
		if(!Validater.checkShain_no(shain_no)){
			throw new BusinessException("不正な操作が行われました");
		}
		//社員情報モデルクラス
		Shain shain;
		
		//入力チェックがなければ、DBアクセスする
		try{
			//DBアクセスオブジェクトの作成
			dao = new DaoShain();
			//社員の削除
			shain = dao.seachShainDetail(shain_no);
		}
		//コネクションの削除		
		finally{
			if(dao != null){dao.closeConnection();}
		}
		return shain;
	}
}